package zhangzhifan;
import java.util.*;
import java.util.regex.*;


/**
 * 
 * @author ��֪��
 * ͳ�Ƶ��������õ���
 *
 */
public class WordCounter {
	//������
	private int wordNum = 0;
	private Map<String, Integer> wordMap = new TreeMap<String, Integer>();
	
	/**
	 * 
	 * @param content ��ͳ�Ƶ��ı�����
	 * 
	 */
	public void Count(String content) {
		wordMap.clear();
		Pattern p = Pattern.compile( "[\\W]+");
		String[] result = 
			p.split(content);
		for (int i=0; i<result.length; i++) {
			//�������е��ʣ���������Ŀ
			if(wordMap.containsKey(result[i])) {
				int cnt = wordMap.get(result[i]);
				wordMap.put(result[i], cnt + 1);
			}
			//�����µ��ʣ�����map
			else {
				if(!result[i].equals(""))
					wordMap.put(result[i], 1);
			}
		}
		wordNum = 0;
		for(int i = 0; i < result.length; i++)
			if(!result[i].equals(""))
				wordNum++;
		
	}
	/**
	 * 
	 * @return ��ͳ�Ƶ��ı���ȫ��������
	 */
	public int getWordNum() {
		return wordNum;
	}
	
	/**
	 * 
	 * @param s ���ҵĵ���
	 * @return ���ʳ��ֵĴ���
	 */
	public int getFreq(String s) {
		if(wordMap.containsKey(s))
			return wordMap.get(s);
		return 0;
	}
	
}
